草庐IT

Angular 单元测试简介

全部标签

javascript - 如何使用 Angular.js 引导多个模块显示在同一页面上

我看过Googlegroups,angularjs.org以及一些严肃的谷歌搜索,但我没有找到任何明确的例子或解释我正在尝试做的事情。我想做的是使用多个模块将我的应用程序分解为多个View。我从在线阅读中知道您需要手动引导,但我仍然无法写入我目前有2个模块“thermostatApp”和“PeopleApp”,我想将它们附加到它们自己的容器中,如下所示:我想做的是像这样引导到每个容器元素:angular.element($('#peopleApp_container')).ready(function(){angular.bootstrap($('#peopleApp_containe

c# - 在 ASP.NET MVC 的生产和测试环境中捆绑和不捆绑

我正在使用ASP.NET捆绑机制:BundleTable.Bundles.Add(newScriptBundle("~/Scripts/Master-js").Include("~/Scripts/respond.min.js","~/Scripts/jquery.form.js","~/Scripts/jquery.MetaData.js","~/Scripts/jquery.validate.js","~/Scripts/bootstrap.js","~/Scripts/jquery.viewport.js","~/Scripts/jquery.cookie.js"));我希望在构

javascript - Angular JS 如何使用 Protractor 获取中继器的所有行?

我有一个包含所有用户的表,我想搜索列为{{user.name}}==='X'的用户。当我找到正确的行时,我想通过单击该行的最后一列来删除该条目。element(by.repeater('userinallUsers')).then(function(rows){for(vari=0;i我得到一个TypeError:Object#hasnomethod'then'我在这里找到了我的解决方案,但那仍然是旧语法 最佳答案 您忘记调用all函数:element.all(by.repeater('userinallUsers')).then(

javascript - AngularJS 指令中的单元测试私有(private)函数

如何对在指令内定义的函数进行单元测试,如下面的myFunc?angular.module('myApp').directive('myDir',[function(){varmyFunc=function(arg){//codeinhere.};return{restrict:'A',scope:{},link:function(scope,element){}};}]);或者您如何定义我不想在指令之外公开的可测试指令特定函数? 最佳答案 最常见的方法是不测试私有(private)方法,而是测试公开其行为的公共(public)接口(

javascript - 了解 QUnit 异常测试

在编写QUnit测试时,我对“throws”的行为感到惊讶。关于下面的代码(http://jsfiddle.net/DuYAc/75/),谁能回答我的问题:functionsubfunc(){throw"subfuncerror";}functionfunc(){try{subfunc();}catch(e){}}test("officialcookbookexample",function(){throws(function(){throw"error";},"Mustthrowerrortopass.");});test("Wouldexpectthistowork",functi

javascript - 是否可以检查 Angular 应用程序是否已经有正在运行的应用程序模块?

我正在编写一个Angular插件,如果没有找到,它将初始化一个Angular应用程序模块,但如果已经有一个正在运行或声明的ng-app,我的应用程序将使用该模块。理想情况下,我的代码如下所示://returnarrayofapps,whetherfromng-appormanuallybootstraprunningAppModules=angular.getNgApps();if(!isEmpty(runningAppModules)){varapp=runningAppModules[0];//Dosomethingwiththealreadyinitializedappliker

javascript - Angular - 使用相同的表单来创建和更新

我有一个非常简单的CRUD应用程序,用于管理音乐专辑。仅跟踪两个字段,标题和艺术家。在thisexample,下拉列表显示相册列表,如果我填写表格并单击“保存”,它将被添加到列表中。在secondexample,选择相册将填充表单,以便对其进行编辑和更新。我的问题是,有没有办法以相同的形式获得这两种功能?当然,我可以创建两个相同的表单并让它们做稍微不同的事情,但考虑到它们对相同的数据进行操作,如果current_album会很好被选中,它更新,当"Newalbum..."被选中,它创建。主要障碍似乎是值(value)与ng-模型。我可以设置该值,以便在我从中选择一个项目时填充它或者我可

javascript - Angular JS, 'nomod',模块 '{0}' 不可用!你要么拼错

这是我的index.html中的代码GooglePhoneGallerySearch:Soryby:AlphabeticalNewest{{Hello}}Totalnumberofphones:{{filtered.length}}{{$index}}{{phone.name}}{{phone.snippet}}Currentfilter:{{query}}CurrentOrder:{{orderProp}}{{phones|json}}-->当我用Chrome的WebInspector打开它时,它经常抛出这个:returnensure(modules,name,function(){

javascript - 使用 RequireJS 加载时 Angular 无法实例化模块

当我将RequireJS与AngularJS一起使用时,确实发生了一些奇怪的事情。我设法通过RequireJS加载了我所有的Angular依赖项。当我在Chrome的开发人员工具中打开“源”Pane时,我可以看到这些脚本已下载。但是Angular一直在控制台中抛出错误,指出它未能实例化模块:UncaughtError:[$injector:modulerr]FailedtoinstantiatemoduleMyTestAppdueto:Error:[$injector:nomod]Module'MyTestApp'isnotavailable!Youeithermisspelledth

javascript - AngularJS 测试 $httpBackend.flush() 导致错误

我正在尝试使用jasmine对我为Spotify创建的AngularJS服务进行一些测试。但是在测试promises时,我的测试总是出错。我的测试目前是这样的:describe('Spotify.search',function(){var$httpBackend;var$rootScope;varSpotify;varapi='https://api.spotify.com/v1';beforeEach(inject(function(_Spotify_,_$httpBackend_,_$rootScope_){Spotify=_Spotify_;$httpBackend=_$htt